import request from "@/utils/request";

const TESTPAPERINFOSETTING_BASE_URL = "/wz/exam/test_paper_info_setting";

class TestPaperInfoSettingAPI {
  /** 获取试卷设置表分页数据 */
  static getPage(queryParams?: TestPaperInfoSettingPageQuery) {
    return request<any, PageResult<TestPaperInfoSettingPageVO[]>>({
      url: `${TESTPAPERINFOSETTING_BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  }

  /**
   * 获取试卷设置表表单数据
   *
   * @param id TestPaperInfoSettingID
   * @returns TestPaperInfoSetting表单数据
   */
  static getFormData(id: number) {
    return request<any, TestPaperInfoSettingForm>({
      url: `${TESTPAPERINFOSETTING_BASE_URL}/detail?id=` + id,
      method: "get",
    });
  }

  /** 添加试卷设置表*/
  static add(data: TestPaperInfoSettingForm) {
    return request({
      url: `${TESTPAPERINFOSETTING_BASE_URL}/save`,
      method: "post",
      data: data,
    });
  }

  /**
   * 更新试卷设置表
   *
   * @param id TestPaperInfoSettingID
   * @param data TestPaperInfoSetting表单数据
   */
  static update(data: TestPaperInfoSettingForm) {
    return request({
      url: `${TESTPAPERINFOSETTING_BASE_URL}/update`,
      method: "put",
      data: data,
    });
  }

  /**
   * 批量删除试卷设置表，多个以英文逗号(,)分割
   *
   * @param ids 试卷设置表ID字符串，多个以英文逗号(,)分割
   */
  static deleteByIds(ids: string) {
    return request({
      url: `${TESTPAPERINFOSETTING_BASE_URL}/remove?ids=` + ids,
      method: "delete",
    });
  }
}

export default TestPaperInfoSettingAPI;

/** 试卷设置表分页查询参数 */
export interface TestPaperInfoSettingPageQuery extends PageQuery {}

/** 试卷设置表表单对象 */
export interface TestPaperInfoSettingForm {
  /** 主键 */
  id?: number;
  /** 所属试卷id */
  testPaperInfoId?: number;
  /** 提交后是否立即出分
1. 批改后出分
2. 立即显示分数 */
  commitAfterType?: number;
  /** 是否显示成绩排名榜 */
  showMarkSort?: number;
  /** 是否显示学员成绩排名 */
  showStudentSort?: number;
  /** 创建时间 */
  createTime?: string;
  /** 修改时间 */
  updateTime?: string;
  /** 参考次数 */
  referenceNumber?: number;
  /** 开始时间 */
  startTime?: string;
  /** 结束时间 */
  endTime?: string;
  /** 1.指定时间段 2. 永久有效 */
  examType?: number;
}

/** 试卷设置表分页对象 */
export interface TestPaperInfoSettingPageVO {}
